#Python 文件操作
'''
open()函数
文件对象操作
with语句
'''


# open()函数
'''
要想读取文件（比如txt、csv等），第一步要用open()函数打开文件，它会返回一个文件对象，这个对象
拥有read()、write()、close()等方法。

语法：open(file, mode='r', encoding=None)

1.file: 打开的文件路径
2.mode（可选）: 打开文件的模式，如只读、追加、写入等
    r: 只读
    w: 只写
    a: 在原有内容的基础上追加内容（末尾）
    w+: 读写
    如果需要以字节（二进制）形式读取文件，只需要在mode值追加 'b' 即可, 例如wb
'''

# 文件对象操作
'''
f = open('computer.txt')

方法                                   描述
f.read([size])                 读取size字节，当未指定或给负值时，读取剩余所有的字节，作为字符串返回 
f.readline([size])             从文件中读取下一行，作为字符串返回。如果指定size则返回size字节
f.readlines([size])            读取size字节，当未指定或给负值时，读取剩余所有的字节，作为列表返回
f.write(str)                   写字符串到文件
f.flush                        刷新缓冲区到磁盘
f.seek(offset[,whence=0])      在文件中移动指针，从whence (0代表文件起始位置，默认。1代表当前位置。2代表文件末尾)偏移offset字节
f.tell()                       当前文件中的位置（指针）
f.close()                      关闭文件
'''


# 定义f 打开computer.xtx
f = open("computer.txt",encoding="utf8")
# 读取computer.txt文件中的内容
#print(f.read())
# 读取指定字节
#print(f.read(4))
# 读取下一行内容
#print(f.readable())
# 读取出所有内容返回一个列表
#print(f.readlines())
#f.write("音响")
#f.flush()

#computer = ["主机","显示器","键盘","鼠标"]
#for i in computer:
#    f.write("\n" +i)
#f.flush()
#f.close()



# with语句：不管在处理文件过程中是否发生异常，东鞥保证 with 语句执行完毕后已经关闭了打开的文件句柄。
'''
示例：
with open("computer.txt",encoding="utf8") as f:
    date = f.read()
    print(date)
'''

computer = ["主机","显示器","键盘","鼠标","音响"]
with open("computer.txt",encoding="utf8",mode="w+") as f:
    for i in computer:
        f.write("\n音响2" +i)
    f.flush()
    f.close()
print(computer)